#ifndef    __INTLIB_H__

#define    __INTLIB_H__


#define    XINT_ME        0

#define    XINT_TIM       1
#define    XINT_EX        2
#define    XINT_KP        3
#define    XINT_7A        4
#define    XINT_72        5
#define    XINT_7B        6
#define    XINT_SIO       7

#ifndef IRQ_SIO
#define    IRQ_SIO        7
#endif

typedef void (*vfunc_t)();

void    IrqInit(void);
void    IrqSet(void *lpHandler, char cDevNumber);
vfunc_t IrqGet(char cDevNumber);
void    IrqOn(char cDevNumber);
void    IrqOff(char cDevNumber);
void    IrqDelete(char cDevNumber);
void    DevInit(void);
void    RasterInit(void);
void    interrupt RasterInt(void);
int     RasterSet(int iRasterNumber, vfunc_t vFunction);
int     RasterSetOn(int iRasterNumber, vfunc_t vFunction);
void    RasterOn(int iRasterNumber);
void    RasterOff(int iRasterNumber);
void    RasterUnset(int iRasterNumber);
void    RasterOverride(int iRasterNumber, vfunc_t vFunction);
void    VSyncInt(void);
void    VSyncUnset(void);
int     VSyncSet(vfunc_t vFunction);
void    VSyncWait(void);
int     RasterGet(void);

#endif    __INTLIB_H__
